#include <bits/stdc++.h>
using namespace std;
// 有效位数
int n;

// 直接 修改 s1 e1;
string deal(string s, int &e){
    int k = 0;
    while(s.length() > 0 && s[0] == '0'){
        s.erase(s.begin());
    }
    //去掉小数点，并说明这个数是小于0的
    if(s[0] == '.'){
        s.erase(s.begin());
        while(s.length() > 0 && s[0] == '0'){
            s.erase(s.begin());
            e--;
        }
    }else{
        while(k < s.length() && s[k] != '.'){
            k++; // 找小数点
            e++;
        }
        if(k < s.length()){
            s.erase(s.begin() + k); // 如果碰到小数点，就删除这个小数点。
        }
    }
    if(s.length() == 0){
        e = 0;
    }
    int num = 0;
    k = 0;
    string res;
    while(num < n){
        if(k < s.length()) res += s[k++];
        else res += '0';
        num++;
    }
    return res;
}

int main(){
    // s1 第一个float s2 第二个 float s3 第一个输出的科学技术 s4 第二个输出的科学计数；
    string s1, s2, s3, s4;
    cin >> n >> s1 >> s2;
    // 指数大小
    int e1 = 0, e2 =0;
    s3 = deal(s1, e1);
    s4 = deal(s2, e2);
    if(s3 == s4 && e1 == e2){
        cout << "YES 0." << s3 << "*10^" << e1 << endl;
    }else{
        cout << "NO 0." << s3 << "*10^" << e1 <<  " 0." << s4 << "*10^" << e2 << endl;
    }
    
    return 0;
}